package com.asura.ops.sync.client.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 路由表
 * </p>
 *
 * @author <a href="https://fengwenyi.com?fs=mpcg">Erwin Feng</a>
 * @since 2022-09-22
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("mdm_route")
public class MdmRouteEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 路由编码
     */
    @TableField("route_code")
    private String routeCode;

    /**
     * 路由优先级
     */
    @TableField("route_priority")
    private Integer routePriority;

    /**
     * 发货地编码
     */
    @TableField("origin_code")
    private String originCode;

    /**
     * 发货省份
     */
    @TableField("origin_province")
    private String originProvince;

    /**
     * 发货地省份名称
     */
    @TableField("origin_province_name")
    private String originProvinceName;

    /**
     * 发货城市
     */
    @TableField("origin_city")
    private String originCity;

    /**
     * 发货地城市名称
     */
    @TableField("origin_city_name")
    private String originCityName;

    /**
     * 发货区县
     */
    @TableField("origin_region")
    private String originRegion;

    /**
     * 发货地区县名称
     */
    @TableField("origin_region_name")
    private String originRegionName;

    /**
     * 发货街道
     */
    @TableField("origin_town")
    private String originTown;

    /**
     * 发货地街道/乡镇名称
     */
    @TableField("origin_town_name")
    private String originTownName;

    /**
     * 发货地分拨仓
     */
    @TableField("origin_warehouse_code")
    private String originWarehouseCode;

    /**
     * 目的地编码
     */
    @TableField("destination_code")
    private String destinationCode;

    /**
     * 目的地省份
     */
    @TableField("destination_province")
    private String destinationProvince;

    /**
     * 目的地省份名称
     */
    @TableField("destination_province_name")
    private String destinationProvinceName;

    /**
     * 目的地城市
     */
    @TableField("destination_city")
    private String destinationCity;

    /**
     * 目的地城市名称
     */
    @TableField("destination_city_name")
    private String destinationCityName;

    /**
     * 目的地区县
     */
    @TableField("destination_region")
    private String destinationRegion;

    /**
     * 目的地区县名称
     */
    @TableField("destination_region_name")
    private String destinationRegionName;

    /**
     * 目的地街道
     */
    @TableField("destination_town")
    private String destinationTown;

    /**
     * 目的地街道/乡镇名称
     */
    @TableField("destination_town_name")
    private String destinationTownName;

    /**
     * 目的地分拨仓
     */
    @TableField("destination_warehouse_code")
    private String destinationWarehouseCode;

    /**
     * 是否系统自动生成
     */
    @TableField("is_auto_generated")
    private Integer isAutoGenerated;

    /**
     * 逆向路由编码
     */
    @TableField("reverse_code")
    private String reverseCode;

    /**
     * 数据状态  0=草稿，1=启用，2=停用
     */
    @TableField("data_status")
    private Integer dataStatus;

    /**
     * 创建人ID
     */
    @TableField("created_by")
    private Long createdBy;

    /**
     * 创建人
     */
    @TableField("created_name")
    private String createdName;

    /**
     * 创建时间，默认为当前时间
     */
    @TableField("created_at")
    private LocalDateTime createdAt;

    /**
     * 更新人ID
     */
    @TableField("updated_by")
    private Long updatedBy;

    /**
     * 创建人
     */
    @TableField("updated_name")
    private String updatedName;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    private LocalDateTime updatedAt;
}
